package cn.echo.consul.manager.entity;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 项目信息
 * @author lonyee
 *
 * Here is the brief description for all the predefined environments:
 * <ul>
 *   <li>LOCAL: Local Development environment, assume you are working at the beach with no network access</li>
 *   <li>DEV: Development environment</li>
 *   <li>FWS: Feature Web Service Test environment</li>
 *   <li>FAT: Feature Acceptance Test environment</li>
 *   <li>UAT: User Acceptance Test environment</li>
 *   <li>LPT: Load and Performance Test environment</li>
 *   <li>PRO: Production environment</li>
 *   <li>TOOLS: Tooling environment, a special area in production environment which allows
 * access to test environment, e.g. Apollo Portal should be deployed in tools environment</li>
 * </ul>
 */
@Data
@NoArgsConstructor
public class ProjectInfo extends BasicEntity {

    /**
     * 项目编号
     */
    private String projectId;

    /**
     * 项目描述
     */
    private String projectDesc;

    /**
     * 支持环境 def, local, dev, test, lpt, uat, prod
     */
    private List<String> envs;

    /**
     * 拥有者
     */
    private String ownerId;

    /**
     * 权限用户
     */
    private List<UserPermission> userPermissions;

    /**
     * 创建人
     */
    private String creatorId;

    /**
     * 创建时间
     */
    private Date createdDate;

    /**
     * 修改人
     */
    private String updaterId;

    /**
     * 修改时间
     */
    private Date updatedDate;
}
